// src/main.js
import { createApp } from 'vue' // Vue 3 创建实例的 API
import App from './App.vue'
import router from './router'
import axios from 'axios'

// 创建 Vue 实例（Vue 3 语法）
const app = createApp(App)

// 安装路由（Vue 3 中通过实例调用 use）
app.use(router)

// 配置 axios
axios.defaults.baseURL = 'http://localhost:8080/api'
axios.defaults.withCredentials = true

// 请求拦截器
axios.interceptors.request.use(
  config => {
    const token = localStorage.getItem('token')
    if (token) {
      config.headers['Authorization'] = `Bearer ${token}`
    }
    return config
  },
  error => {
    console.error('请求错误:', error)
    return Promise.reject(error)
  }
)

// 响应拦截器
axios.interceptors.response.use(
  response => response,
  error => {
    if (error.response && error.response.status === 401) {
      localStorage.removeItem('token')
      router.push({ name: 'Login' }) // 直接使用 router 实例
    }
    return Promise.reject(error)
  }
)

// 挂载实例
app.mount('#app')